The present invention relates to improvements in software productivity, and more particularly to a software reuse method which utilizes existing software in order to efficiently develop new software.
Methods of improving software productivity may be roughly classified into two types: (1) a method of converting existing software into a standard format which permits such existing software to be readily reused; and (2) a method of converting existing software into specifications which express the same in a readily understandable form.
In the method of converting existing software into a readily reusable standard format, standardization and unification of data items in the existing software are effective. A prior art example of this method is described in JP-A-3-294925, wherein the standardization and unification of data items in existing software are achieved in the following procedure.
First, data having the same contents in programs and job control programs are automatically extracted as same meaning candidates by analyzing data input/output, transfer relation, data structure, and so on. Then, the user confirms data which have the same meaning from the same meaning data candidates to produce same meaning data group information. Next, the user sets standard information to the same meaning data group information by providing the same with a standard name and standard attributes. Finally, corresponding standard information is substituted for names of data in an existing program where the same meaning data is used, thus completing the standardization and unification of data in the existing program.
In the other method, where documents are used to understand a software product, specifications are used for visually expressing the software with tabular and graphical representations. A prior art method of automatically producing specifications complying with the contents of a software product is described, for example, in JP-A-1-237726. According to this method, programs and job control programs are analyzed to produce specification information which should be included in software specifications, and this specification information is converted into a software specification form, thus enabling the software specifications to be produced.
Generally, in an initial stage of software development, the contents of software specifications are consistent with the contents of a software product, however, as modifications are added to the software product, the software specifications may deviate from the modified software product. To solve this problem, JP-A-2-81128, for example, discloses a method of automatically reflecting the latest contents of a software product to its software specifications. This prior art method accomplishes the automatic reflection of the latest changed and modified contents of a source program to table specifications in the following procedure.
Upon changing or modifying, a program or a source program is temporarily stored. The stored source program is edited, and changed and modified parts of the source program are analyzed to produce change and modification information for table definition. Then, a means for relating the program to the table definition is used to make changes and modifications in the previously produced table definition at portions corresponding to the changes and modifications in the program, based on the change and modification information.
If specifications for existing software can be utilized when new software is to be developed, a working amount may be reduced. In this event, unstandardized contents of the existing software should not be utilized without rearrangement, but if they are standardized before being used, software development will be advanced with less works for producing specifications therefor.
In this respect, the above-mentioned prior art method must first standardize a software product and then convert the standardized software product into software specifications, thus presenting a problem that the working efficiency is quite low.
Also, with the prior art method, since the software specifications are required for each of existing software products, a plurality of software specifications having the sane meaning and the same contents may be produced. Therefore, when the software specifications for existing software products are utilized, usable standard specifications must be selected therefrom.